package il.ac.braude.sona.constants;

/**
 * This class represents our Database scheme tables
 * @author Ofek Ron
 * @author Avihay Avitan
 * @author Nitzan Inbar
 * @author Sasha Rozenthal 
 */
public class DatabaseScheme {
	/**
	 * This class represents ChangeRequest table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class ChangeRequest {
		public final static String table_name = "change_request";
		public final static String[] fields = {"rid","sysid", "title","ownerid","sid","cur_state","sug_change","explan","comment","date_created"};
	}
	/**
	 * This class represents PeriodicReports table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class PeriodicReports {
		public final static String table_name = "periodic_reports";
		public final static String[] fields = {"reportid","from_date","to_date","time_created","Number of active requests","Closed Executed","Closed Rejected","Total days spent","Number of suspended requests"
			,"Active requests count Braude web-site","Executed requests count Braude web-site","Rejected requests count Braude web-site","Suspended requests count Braude web-site",
			 "Active requests count Labs & guests_PCs","Executed requests count Labs & guests PCs","Rejected requests count Labs & guests PCs","Suspended requests count Labs & guests PCs",
			 "Active requests count Student info. station","Executed requests count Student info. station","Rejected requests count Student info. station","Suspended requests count Student info. station",
			 "Active requests count Library System","Executed requests count Library System","Rejected requests count Library System","Suspended requests count Library System",
			 "Active requests count Worker info. station","Executed requests count Worker info. station","Rejected requests count Worker info. station","Suspended requests count Worker info. station",
			 "Active requests count Moodle","Executed requests count Moodle","Rejected requests count Moodle","Suspended requests count Moodle",
			 "Active requests count Class computers","Executed requests count Class computers","Rejected requests count Class computers","Suspended requests count Class computers",
			 "Active requests count Lecturer info. station","Executed requests count Lecturer info. station","Rejected requests count Lecturer info. station","Suspended requests count Lecturer info. station"};
	}
	/**
	 * This class represents ExecutionFailures table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class ExecutionFailures {
		public final static String table_name = "execution_failures";
		public final static String[] fields = {"efid","rid","test_date","uid","failures_description"};
	}
	/**
	 * This class represents ExtensionRequest table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class ExtensionRequest {
		public final static String table_name = "extension_request";
		public final static String[] fields = {"rid","sid","uid","extension_days","explanation","decision"};
	}
	/**
	 * This class represents FilesInChangeRequest table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class FilesInChangeRequest {
		public final static String table_name = "files_in_change_request";
		public final static String[] fields = {"fid","rid"};
	}
	/**
	 * This class represents InfoSystem table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class InfoSystem {
		public final static String table_name = "info_system";
		public final static String[] fields = {"sysid","uid"};
	}
	/**
	 * This class represents Premissions table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class Premissions {
		public final static String table_name = "premissions";
		public final static String[] fields = {"pid","tid"};
	}
	/**
	 * This class represents StatusExecution table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class StatusExecution {
		public final static String table_name = "status_execution";
		public final static String[] fields = {"eid","rid","sid","date_started","estimate_time","extension_time","date_finished"};
	}
	/**
	 * This class represents StatusExecutionFreezed table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class StatusExecutionFreezed {
		public final static String table_name = "status_execution_freezed";
		public final static String[] fields = {"rid", "sid","eid","date_freezed_started","date_freezed_finished"};
	}
	/**
	 * This class represents Statuses table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class Statuses {
		public final static String table_name = "statuses";
		public final static String[] fields = {"sid"};
	}
	/**
	 * This class represents Type table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class Type {
		public final static String table_name = "type";
		public final static String[] fields = {"tid"};
	}
	/**
	 * This class represents SurveyReport table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class SurveyReport {
		public final static String table_name = "survey_report";
		public final static String[] fields = {"rid","uid","sysid","description","results","constraints","risks","evaluation_days","additional_data"};
	}
	
	/**
	 * This class represents WorkerTypeInRequest table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class WorkerTypeInRequest {
		public final static String table_name = "worker_type_in_request";
		public final static String[] fields = { "rid","uid","tid"};
	
	}
	/**
	 * This class represents Users table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class Users {
		public final static String table_name = "users";
		public final static String[] fields = { "uid","fname","lname","tid","Email","password"};
	}
	/**
	 * This class represents TypeStatuses table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class TypeStatuses{
		public final static String table_name = "type_status";
		public final static String[] fields = { "tid","sid"};
	}
	/**
	 * This class represents BoardDecision table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class BoardDecision {
		public final static String table_name = "board_decision";
		public final static String[] fields = {"rid","decision", "approved"};
	}
	/**
	 * This class represents SupervisorRecords table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class SupervisorRecords {
		public final static String table_name = "supervisor_update_record";
		public final static String[] fields = {"record_number","rid","upaction","uid","date"};
	}
	/**
	 * This class represents Exceptions table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class Exceptions {
		public final static String table_name = "exceptions";
		public final static String[] fields = {"executionid","eid"};	
	}
	
	/**
	 * This class represents Messeges table
	 * @author Ofek Ron
	 * @author Avihay Avitan
	 * @author Nitzan Inbar
	 * @author Sasha Rozenthal 
	 */
	public static class Messeges {
		public final static String table_name = "messeges";
		public final static String[] fields = {"mtype","rid","eid","uid"};	
	}	
	
}
